package kgame5.k3d.core.math {

/**
 * @author kangkai
 * 这个曾经犯过严重的错误，幸亏我测试了一下，否则后果不堪设想！！！如果把screenXYZ也在这里表示，则
 * 导致不该共享的数据被共享了screenXYZ是个性数据
 * 
 * 0817,注意这个有screenX,screenY,数据不要共享
 * 
 * //投影到屏幕之后的位置。实际做法是先投影到摄像机空间，然后计算一下到屏幕空间
	public var screenX:int;
	public var screenY:int;
	public var screenZ:int;
	 * 
	 * --更正。不做成共享的即可
 */
public class Vertex3D {
	//在模型坐标系空间的xyz
	public var x:Number;
	public var y:Number;
	public var z:Number;
	
	//投影到屏幕之后的位置。实际做法是先投影到摄像机空间，然后计算一下到屏幕空间
	public var screenX:Number;
	public var screenY:Number;
	public var screenZ:Number;
	
	public function Vertex3D(x:Number,y:Number,z:Number){
		this.x=x;
		this.y=y;
		this.z=z;
	}
	
	public function clone():Vertex3D{
		return new Vertex3D(x,y,z);
	}
	
	public function magnitude2():Number{
		return x*x+y*y+z*z;
	}
}
}
